3,398 research outputs found

    Efficient Groundness Analysis in Prolog

    Get PDF
    Boolean functions can be used to express the groundness of, and trace grounding dependencies between, program variables in (constraint) logic programs. In this paper, a variety of issues pertaining to the efficient Prolog implementation of groundness analysis are investigated, focusing on the domain of definite Boolean functions, Def. The systematic design of the representation of an abstract domain is discussed in relation to its impact on the algorithmic complexity of the domain operations; the most frequently called operations should be the most lightweight. This methodology is applied to Def, resulting in a new representation, together with new algorithms for its domain operations utilising previously unexploited properties of Def -- for instance, quadratic-time entailment checking. The iteration strategy driving the analysis is also discussed and a simple, but very effective, optimisation of induced magic is described. The analysis can be implemented straightforwardly in Prolog and the use of a non-ground representation results in an efficient, scalable tool which does not require widening to be invoked, even on the largest benchmarks. An extensive experimental evaluation is givenComment: 31 pages To appear in Theory and Practice of Logic Programmin

    A Semantic Basis for Specialising Domain Constraints

    Get PDF
    This paper formalises an analysis of finite domain programs and the resultant program transformation. The analysis adds low valency (domain) constraints to clauses in order to reduce search. The technique is outlined with a worked example and then formalised using abstract interpretation. Correctness of the analysis and of the transformation is proved

    Three Optimisations for Sharing

    Get PDF
    In order to improve precision and efficiency sharing analysis should track both freeness and linearity. The abstract unification algorithms for these combined domains are suboptimal, hence there is scope for improving precision. This paper proposes three optimisations for tracing sharing in combination with freeness and linearity. A novel connection between equations and sharing abstractions is used to establish correctness of these optimisations even in the presence of rational trees. A method for pruning intermediate sharing abstractions to improve efficiency is also proposed. The optimisations are lightweight and therefore some, if not all, of these optimisations will be of interest to the implementor.Comment: To appear in Theiry and Practice of Logic Programmin

    Still Life

    Get PDF

    Still Life

    Get PDF

    A Method for Visualizing the Structural Complexity of Organizational Architectures

    Get PDF
    To achieve a high level of performance and efficiency, contemporary aerospace systems must become increasingly complex. While complexity management traditionally focuses on a product’s components and their interconnectedness, organizational representation in complexity analysis is just as essential. This thesis addresses this organizational aspect of complexity through an Organizational Complexity Metric (OCM) to aid complexity management. The OCM augments Sinha’s structural complexity metric for product architectures into a metric that can be applied to organizations. Utilizing nested numerical design structure matrices (DSMs), a compact visual representation of organizational complexity was developed. Within the nested numerical DSM are existing organizational datasets used to quantify the complexity of both organizational system components and their interfaces. The OCM was applied to a hypothetical system example, as well as an existing aerospace organizational architecture. Through the development of the OCM, this thesis assumed that each dataset was collected in a statistically sufficient manner and has a reasonable correlation to system complexity. This thesis recognizes the lack of complete human representation and aims to provide a platform for expansion. Before a true organizational complexity metric can be applied to real systems, additional human considerations should be considered. These limitations differ from organization to organization and should be taken into consideration before implementation into a working system. The visualization of organizational complexity uses a color gradient to show the relative complexity density of different parts of the organization

    A Pearl on SAT Solving in Prolog (Logic Programming Newsletter)

    Get PDF
    Extended abstract for Association of Logic Programming (ALP) Newsletter on FLOPS/TCS special issue paper on SAT and SMT solving in Prolog
    • …
    corecore